//
//  PathNode.h
//  IsoCplus
//
//  Created by 周张林 on 15/9/15.
//
//

#ifndef __IsoCplus__PathNode__
#define __IsoCplus__PathNode__

#include <vector>
#include "PathLink.h"

class PathLink;

class PathNode
{
    
public:
    
    //A*计算时需要的值
    float x=0,y=0,f=0,g=0,h=0;
    
    /**
     *  是否可用
     */
    bool walkable=false;
    
    /**
     *  父结点
     */
    PathNode *parent;
    
    /**
     *  为寻路预先计算，优化寻路速度
     */
    std::vector<PathLink *> links;
    
    /**
     *  寻路方式
     */
    int version = 1;
    
    /**
     *  初始化
     *
     *  @param nodeX 网格X
     *  @param nodeY 网格Y
     *
     *  @return 成功返回true
     */
    bool init(int nodeX,int nodeY);
    ~PathNode();
};



#endif /* defined(__IsoCplus__PathNode__) */
